<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  //wapped into
  //网络请求：aaa->自己处理(10行)
  //处理aaa111->自己处理(10行)
  //处理aaa111222->自己处理(10行)
  // new Promise((resolve, reject) => {
  //   setTimeout(() => {
  //     resolve('aaa')
  //   }, 1000)
  // }).then(data => {
  //   //自己处理10行代码
  //   console.log(data, '第一层处理的10行代码');
  //   //对结果进行第一次处理
  //   //reject没有用到可以不加
  //   return new Promise((resolve,reject) => {
  //     setTimeout(() => {
  //       reject('我出错了')
  //     }, 1000)
  //   }).then(data => {
  //     //处理10行代码
  //     console.log(data, '第二层处理的10行代码');
  //     //对结果进行第二次处理
  //     return new Promise(resolve => {
  //       setTimeout(() => {
  //         resolve(data + '222')
  //       }, 1000)
  //     }).then(res => {
  //       console.log(res, '第三层处理的10行代码');
  //     })
  //   }).catch(res=>{
  //     console.log(res);
  //   })
  // })

  //简写形式
  new Promise(resolve => {
    setTimeout(()=>{
      resolve('aaa')
    },1000)
  }).then(res=>{
    console.log(res);
    //第一次处理的简写形式
    // return Promise.reject('我出错了')
    throw 'error message'//catch可以进行捕获
  }).then(res=>{
    console.log(res,'第一层处理的代码');
    //第二次处理的简写形式
    return Promise.resolve(res+'222')
  }).then(res=>{
    console.log(res,'第三层处理的代码');
  }).catch(res=>{
    console.log(res);
  })

  //简写形式(更简) 省略Promise.reslove()
  // new Promise(resolve => {
  //   setTimeout(()=>{
  //     resolve('aaa')
  //   },1000)
  // }).then(res=>{
  //   console.log(res);
  //   //第一次处理的简写形式
  //   return res+'111'
  // }).then(res=>{
  //   console.log(res,'第一层处理的代码');
  //   //第二次处理的简写形式
  //   return res+'222'
  // }).then(res=>{
  //   console.log(res,'第三层处理的代码');
  // })
</script>
</body>
</html>
